package com.nuoniu.sibanyun.entity.expenses;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.nuoniu.sibanyun.common.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 费用中心-业务订单
 * </p>
 *
 * @author 小啊刚
 * @since 2022-05-06
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("expenses_business_order")
@ApiModel(value="ExpensesBusinessOrder对象", description="费用中心-业务订单")
public class ExpensesBusinessOrder extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "租户ID")
    @TableField("company_id")
    private Integer companyId;

    @ApiModelProperty(value = "业务订单")
    @TableField("business_order_no")
    private String businessOrderNo;

    @ApiModelProperty(value = "业务类型 1.商品订单 ")
    @TableField("business_type")
    private Integer businessType;

    @ApiModelProperty(value = "订单金额(元)")
    @TableField("order_amount")
    private BigDecimal orderAmount;

    @ApiModelProperty(value = "订单类型 1.新购 2.续费 3.变更")
    @TableField("order_type")
    private Integer orderType;

    @ApiModelProperty(value = "是否预定义产品")
    @TableField("is_prd_production")
    private Boolean isPrdProduction;

    @ApiModelProperty(value = "产品类型 基础产品 baseProduction  外呼套餐 callSetting 外呼坐席 callAgent")
    @TableField("production_type")
    private String productionType;

    @ApiModelProperty(value = "子产品ID")
    @TableField("production_id")
    private Integer productionId;

    @ApiModelProperty(value = "子产品名称")
    @TableField("production_name")
    private String productionName;

    @ApiModelProperty(value = "产品规格（具体产品参数）")
    @TableField("production_specifications")
    private String productionSpecifications;

    @ApiModelProperty(value = "续费方式 1：手动 2：自动")
    @TableField("renewal_type")
    private Integer renewalType;

    @ApiModelProperty(value = "时间单位")
    @TableField("time_unit")
    private String timeUnit;

    @ApiModelProperty(value = "时间数量")
    @TableField("time_number")
    private Integer timeNumber;

    @ApiModelProperty(value = "单价（元/1个时间单位）")
    @TableField("price")
    private BigDecimal price;

    @ApiModelProperty(value = "资费类型 1.包年 2.包月 3.一次性")
    @TableField("payment_type")
    private Integer  paymentType;

        @ApiModelProperty(value = "状态 0.待支付 1.处理中 2.已取消 3.交易成功 4.已过期 400：已废弃")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "创建人id")
    @TableField("create_user_id")
    private Integer createUserId;

    @ApiModelProperty(value = "创建人名称")
    @TableField("create_user_name")
    private String createUserName;

    @ApiModelProperty(value = "订单创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "支付人id")
    @TableField("pay_user_id")
    private Integer payUserId;

    @ApiModelProperty(value = "支付人名称")
    @TableField("pay_user_name")
    private String payUserName;

    @ApiModelProperty(value = "支付时间")
    @TableField("pay_time")
    private LocalDateTime payTime;

//    @ApiModelProperty(value = "来源资源ID(资源唯一标识)")
//    @TableField("source_property_uuid")
//    private String sourcePropertyUuid;

}
